#include "vs_normal_model.fx"
#include "vs_normal_model_shadow.fx"
#include "ps_normal_model.fx"
#include "vs_skin_model.fx"
#include "ps_skin_model.fx"

technique MODEL_NORMAL
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_NORMAL();
		PixelShader  = compile ps_2_0 PS();
	}
}

technique MODEL_NORMAL_AD
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_NORMAL_AD();
		PixelShader  = compile ps_2_0 PS();
	}
}

technique MODEL_NORMAL_ADS
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_NORMAL_ADS();
		PixelShader  = compile ps_2_0 PS();
	}
}

//----------------------------------------------------------------

technique MODEL_NORMAL_FOG
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_NORMAL_FOG();
		PixelShader  = compile ps_2_0 PS_FOG();
	}
}

technique MODEL_NORMAL_AD_FOG
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_NORMAL_AD_FOG();
		PixelShader  = compile ps_2_0 PS_FOG();
	}
}

technique MODEL_NORMAL_ADS_FOG
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_NORMAL_ADS_FOG();
		PixelShader  = compile ps_2_0 PS_FOG();
	}
}

//---------------------------------------------------------------------------------

technique MODEL_NORMAL_SHADOW
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_NORMAL_SHADOW();
		PixelShader  = compile ps_2_0 PS_SHADOW();
	}
}

technique MODEL_NORMAL_AD_SHADOW
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_NORMAL_AD_SHADOW();
		PixelShader  = compile ps_2_0 PS_SHADOW();
	}
}

technique MODEL_NORMAL_ADS_SHADOW
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_NORMAL_ADS_SHADOW();
		PixelShader  = compile ps_2_0 PS_SHADOW();
	}
}

//----------------------------------------------------------------

technique MODEL_NORMAL_FOG_SHADOW
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_NORMAL_FOG_SHADOW();
		PixelShader  = compile ps_2_0 PS_FOG_SHADOW();
	}
}

technique MODEL_NORMAL_AD_FOG_SHADOW
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_NORMAL_AD_FOG_SHADOW();
		PixelShader  = compile ps_2_0 PS_FOG_SHADOW();
	}
}

technique MODEL_NORMAL_ADS_FOG_SHADOW
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_NORMAL_ADS_FOG_SHADOW();
		PixelShader  = compile ps_2_0 PS_FOG_SHADOW();
	}
}

//---------------------------------------------------------------------------------

technique MODEL_SKIN
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_SKIN();
		PixelShader  = compile ps_2_0 PS();
	}
}

technique MODEL_SKIN_AD
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_SKIN_AD();
		PixelShader  = compile ps_2_0 PS();
	}
}

technique MODEL_SKIN_ADS
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_SKIN_ADS();
		PixelShader  = compile ps_2_0 PS();
	}
}

//---------------------------------------------------------------------------------

technique MODEL_SKIN_FOG
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_SKIN_FOG();
		PixelShader  = compile ps_2_0 PS_FOG();
	}
}

technique MODEL_SKIN_AD_FOG
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_SKIN_AD_FOG();
		PixelShader  = compile ps_2_0 PS_FOG();
	}
}

technique MODEL_SKIN_ADS_FOG
{
	pass P0
	{          
		VertexShader = compile vs_2_0 VS_SKIN_ADS_FOG();
		PixelShader  = compile ps_2_0 PS_FOG();
	}
}

//---------------------------------------------------------------------------------

technique MODEL_NORMAL_CAST_SHADOW
{
	pass P0
	{
		CullMode = None;
		VertexShader = compile vs_2_0 VS_NORMAL_SHADOW_CAST();
		PixelShader = compile ps_2_0 PS_NORMAL_SHADOW_CAST();
	}
}